home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / G-Games / (c)gb.d64 / hangman.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  7KB  |  228 lines

  1. 1 REM           HANGMAN
  2. 2 REM
  3. 3 REM    (C) LARRY PHILLIPS
  4. 4 REM        VANCOUVER B.C.
  5. 5 REM        (604)325-6224
  6. 6 REM
  7. 7 REM I BELIEVE IN FREE OR CHEAP              SOFTWARE,JUST LEAVE THE CREDITS.
  8. 8 REM
  9. 9 REM     MODIFIED BY G J FLYNN
  10. 10 REM
  11. 11 POKE53280,6:POKE53281,14:PRINT"[144]"
  12. 12 REM
  13. 13 REM*********************************
  14. 14 REM* MODIFIED SLIGHTLY AT 0233H ON *
  15. 15 REM*     APRIL THE 5TH, 1985 BY    *
  16. 16 REM*        DAVID BRADLEY          *
  17. 17 REM*********************************
  18. 18 REM
  19. 30 PRINT"[147]"TAB(16)"HANGMAN."
  20. 40 PRINT:PRINTTAB(7)"DO YOU NEED INSTRUCTIONS?"
  21. 50 GETI$
  22. 60 IFI$="Y"THEN90
  23. 70 IFI$="N"THEN200
  24. 80 GOTO50
  25. 90 PRINT"[147]    I WILL THINK OF A WORD."
  26. 100 PRINT"THE DASHES ([192][160][192][160][192]) WILL SHOW YOU"
  27. 105 PRINT"HOW MANY LETTERS IT HAS.":PRINT
  28. 110 PRINT"IF YOU GUESS A LETTER CORRECTLY,"
  29. 115 PRINT"I WILL PUT IT INTO THE WORD, AND GIVE"
  30. 116 PRINT"YOU A CHANCE TO GUESS THE WHOLE WORD.":
  31. 118 PRINT"IF YOU DON'T WANT TO GUESS THE WORD THENPRESS 'SPACE'.":PRINT
  32. 120 PRINT"IF YOU ARE WRONG, I WILL DRAW ANOTHER"
  33. 125 PRINT"PART OF THE MAN.":PRINT
  34. 130 PRINT"THE MAN WILL BE COMPELTELY DRAWN AFTER"
  35. 135 PRINT"TEN WRONG GUESSES.(AND WILL BE HUNG)":PRINT
  36. 140 PRINT:PRINT"HE IS DEPENDING ON YOU!":PRINT:PRINT
  37. 189 PRINT"DO YOU WANT TO PLAY NOW?"
  38. 190 GETI$:IFI$="Y"THEN200
  39. 191 IFI$="N"THEN1999
  40. 192 GOTO190
  41. 200 PRINT"[147]WORKING...."
  42. 203 GOSUB2500:SYS704:GOSUB2000
  43. 204 POKE53281,0:POKE53281,6
  44. 210 POKEX(1)+Y(0),85
  45. 220 POKEX(5)+Y(0),74
  46. 230 POKEX(1)+Y(21),73
  47. 240 POKEX(5)+Y(21),75
  48. 250 FORI=1TO20:POKEX(1)+Y(I),64
  49. 260 POKEX(5)+Y(I),64:NEXTI
  50. 270 POKEX(4)+Y(0),93:POKEX(4)+Y(21),93
  51. 280 POKEX(3)+Y(0),93:POKEX(3)+Y(21),93
  52. 290 POKEX(2)+Y(0),93:POKEX(2)+Y(21),93
  53. 300 FORI=26TO39:POKEX(0)+Y(I),160:NEXTI
  54. 310 FORI=0TO24:POKEX(I)+Y(39),160:NEXTI
  55. 320 FORI=26TO38:POKEX(23)+Y(I),206
  56. 330 POKEX(24)+Y(I),207:NEXTI
  57. 340 POKEX(23)+Y(26),233:POKEX(23)+Y(39),232
  58. 350 POKEX(1)+Y(35),95:POKEX(1)+Y(36),223
  59. 360 POKEX(2)+Y(36),95:POKEX(2)+Y(37),223
  60. 370 POKEX(3)+Y(37),95:POKEX(3)+Y(38),223
  61. 380 POKEX(4)+Y(38),95:POKEX(1)+Y(28),66
  62. 390 POKEX(2)+Y(28),66:POKEX(3)+Y(28),66
  63. 400 POKEX(24)+Y(39),207
  64. 410 PRINT"  LETTERS GUESSED"               
  65. 420 PRINT""
  66. 430 GOSUB2050:GOSUB2200:GOSUB2260
  67. 460 GOSUB3000:GOSUB3010:GOSUB3020
  68. 490 GOSUB3030:GOSUB3040:GOSUB3050
  69. 510 GOSUB3050
  70. 520 GOSUB3060:PRINTTAB(10)"HANGMAN"
  71. 540 FORI=1TO3000:NEXTI
  72. 550 PRINTTAB(10)"[145]       [145]":GOSUB2300
  73. 560 DIMLG$(26),W$(50),WU%(50):DIMLM$(12)
  74. 570 FORI=0TO49:READW$(I):NEXTI
  75. 580 FORI=0TO49:WU%(I)=0:NEXTI
  76. 590 S1=0:S2=0:FL=0
  77. 600 FOR I=0TO25:LG$(I)=" ":NEXTI
  78. 605 WR=0:NC=0:GOSUB3140
  79. 610 W=INT(RND(1)*50):IFWU%(W)=1THEN610
  80. 611 NW=NW+1
  81. 612 IFNW<50THEN620
  82. 615 PRINT"YOU TRIED ";NW;"WORDS":
  83. 616 PRINT:PRINT"YOU GUESSED";NR;"OF THEM"
  84. 617 PRINT"AND HUNG THE POOR FELLOW";NH;"TIMES";"":
  85. 618 END
  86. 620 WU%(W)=1:NL=LEN(W$(W)):PRINT""
  87. 630 FORI=1TONL:PRINT" [192]";:NEXTI:PRINT
  88. 635 N=-1
  89. 640 FORI=1TO11:LM$(I)="[192]":NEXTI        
  90. 650 PRINT"GUESS A LETTER?  ";
  91. 660 GETL$:FL=0:IFL$<"A"THEN660
  92. 665 PRINTL$
  93. 670 IFL$>"Z"THEN660
  94. 680 FORI=0TO25
  95. 681 IFLG$(I)<>L$THEN689
  96. 685 FL=1
  97. 687 GOSUB7300
  98. 689 NEXTI
  99. 690 IFFL=1THEN650
  100. 695 N=N+1
  101. 700 FORI=1TONL
  102. 710 IFL$<>MID$(W$(W),I,1)THEN740
  103. 720 LM$(I)=L$                
  104. 730 FL=1
  105. 740 NEXTI
  106. 745 LG$(N)=L$
  107. 750 IFFL=1THEN1050
  108. 760 WR=WR+1
  109. 770 PRINT:PRINT"SORRY, THAT LETTER "
  110. 780 PRINT"IS NOT IN THIS WORD":PRINT
  111. 785 GOSUB3200
  112. 790 ONWRGOSUB800,810,820,830,840,850,860,870,880,890
  113. 795 GOTO650
  114. 800 PRINT"YOU GET A HEAD":GOSUB7000:GOSUB2050:GOSUB3070:GOSUB3140:RETURN
  115. 810 PRINT"HERE'S THE BODY.":GOSUB7000:GOSUB2200:GOSUB3070:GOSUB3140:RETURN
  116. 820 PRINT"NOW HIS FIRST LEG":GOSUB7000:GOSUB2260:GOSUB3070:GOSUB3140:RETURN
  117. 830 PRINT"SECOND LEG!":GOSUB7000:GOSUB3000:GOSUB3070:GOSUB3140:RETURN
  118. 840 PRINT"THIS GETS YOU AN ARM":GOSUB7000:GOSUB3030:GOSUB3070:GOSUB3140:RETURN
  119. 850 PRINT"THE OTHER ARM...":GOSUB7000:GOSUB3040:GOSUB3070:GOSUB3140:RETURN
  120. 860 PRINT"OH NO!  A FOOT!":GOSUB7000:GOSUB3010:GOSUB3070:GOSUB3140:RETURN
  121. 870 PRINT"HEY, DON'T HANG ME!!":GOSUB7000:GOSUB3020:GOSUB3070:GOSUB3140:RETURN
  122. 880 PRINT"A HAND--ONLY ONE LEFT":GOSUB7000:GOSUB3050:GOSUB3070:GOSUB3140:RETURN
  123. 890 PRINT"AAARGH! I'M HUNG!":GOSUB7000:NH=NH+1:GOSUB3060:GOSUB3070:GOTO900
  124. 900 GOSUB7100:GOSUB7200:PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  125. 1000 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  126. 1010 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  127. 1015 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI
  128. 1020 GOSUB3140:GOSUB2300:GOTO600
  129. 1050 PRINT:PRINT"THAT'S A GOOD ONE!"
  130. 1060 PRINT"HERE'S WHERE IT GOES"
  131. 1070 GOSUB7000:GOSUB3070:GOSUB3140:FL=0
  132. 1080 FORI=0TONL
  133. 1090 IFLM$(I)="[192]"THENFL=1
  134. 1095 NEXTI:IFFL=1THEN1150
  135. 1100 PRINT"":PRINT"GOT IT IN ";N+1;"GUESSES!"
  136. 1105 NR=NR+1
  137. 1110 FORI=1TO1500:NEXTI
  138. 1120 FORI=0TO21:POKEX(9)+Y(I),32:NEXTI
  139. 1130 FORI=0TO19:POKEX(11)+Y(I),32:NEXTI
  140. 1140 GOSUB2300:GOSUB7200:GOTO600
  141. 1150 GOSUB3220:GOSUB3140:IFFL=1THEN650
  142. 1160 GOTO1100
  143. 1998 PRINT"END"
  144. 1999 END
  145. 2000 DIMX(24),Y(39)
  146. 2010 J=1024
  147. 2020 FORI=0TO24:X(I)=J:J=J+40:NEXTI
  148. 2030 FORI=0TO39:Y(I)=I:NEXTI
  149. 2040 RETURN
  150. 2050 FORI=27TO29:POKEX(4)+Y(I),99:NEXTI
  151. 2060 POKEX(4)+Y(26),78:POKEX(7)+Y(30),78                                       
  152. 2070 POKEX(4)+Y(30),77:POKEX(7)+Y(26),77                         
  153. 2080 POKEX(5)+Y(25),118:POKEX(6)+Y(25),103:POKEX(5)+Y(31),117
  154. 2090 POKEX(6)+Y(31),101:POKEX(8)+Y(27),99:POKEX(8)+Y(29),99
  155. 2100 POKEX(5)+Y(27),81:POKEX(5)+Y(29),81:POKEX(6)+Y(28),87                     
  156. 2110 POKEX(7)+Y(27),74:POKEX(7)+Y(28),64:POKEX(7)+Y(29),75
  157. 2180 POKEX(8)+Y(28),224                
  158. 2190 RETURN                            
  159. 2200 FORI=9TO14:FORJ=26TO30
  160. 2210 POKEX(I)+Y(J),224:NEXTJ:NEXTI
  161. 2220 POKEX(9)+Y(28),150:FORI=10TO12
  162. 2230 POKEX(I)+Y(28),218:NEXTI
  163. 2240 FORI=26TO30:POKEX(13)+Y(I),226:NEXTI
  164. 2250 RETURN
  165. 2260 FORI=26TO27:FORJ=15TO18:POKEX(J)+Y(I),102:NEXTJ:NEXTI
  166. 2270 FORI=26TO30:POKEX(14)+Y(I),102:NEXTI                                      
  167. 2280 RETURN
  168. 2300 FORI=4TO19:FORJ=25TO31:POKEX(I)+Y(J),32:NEXTJ:NEXTI:RETURN
  169. 2500 FORA=704TO732:READTT:POKEA,TT:NEXTA:RETURN
  170. 2510 DATA 169,0,133,140,169,219,133,141,169,3,160,255,145,140,136,192,0,208,249
  171. 2520 DATA 198,141,164,141,192,215,208,239,96,0
  172. 3000 FORI=29TO30:FORJ=15TO18:POKEX(J)+Y(I),102:NEXTJ:NEXTI:RETURN
  173. 3010 POKEX(18)+Y(25),111:POKEX(19)+Y(25),226:POKEX(19)+Y(26),226
  174. 3015 POKEX(19)+Y(27),226:RETURN
  175. 3020 FORI=29TO31:POKEX(19)+Y(I),226:POKEX(18)+Y(31),111:NEXTI:RETURN
  176. 3030 FORI=10TO13:POKEX(I)+Y(25),231:NEXTI:POKEX(9)+Y(25),233:RETURN
  177. 3040 FORI=10TO13:POKEX(I)+Y(31),229:NEXTI:POKEX(9)+Y(31),223:RETURN
  178. 3050 POKEX(14)+Y(25),81:RETURN
  179. 3060 POKEX(14)+Y(31),81:RETURN
  180. 3070 PRINT"";
  181. 3080 FORI=0TO9:PRINTLG$(I);" ";:NEXTI:PRINT
  182. 3090 PRINT"";:FORI=10TO19:PRINT" ";LG$(I);:NEXTI:PRINT
  183. 3100 PRINT"";:FORI=20TO25:PRINTLG$(I);" ";:NEXTI:PRINT
  184. 3110 PRINT"":FORI=1TONL:PRINT" ";LM$(I);:NEXTI:PRINT
  185. 3130 RETURN
  186. 3140 FORI=0TO21:POKEX(14)+Y(I),32:POKEX(16)+Y(I),32:POKEX(17)+Y(I),32
  187. 3145 POKEX(10)+Y(I),32:NEXTI
  188. 3150 GOSUB3200
  189. 3160 RETURN
  190. 3200 FORI=0TO21:POKEX(19)+Y(I),32:NEXTI
  191. 3210 RETURN
  192. 3220 PRINT:PRINT:PRINT:PRINT:PRINT"GUESS THE WORD?":FL=0:PRINT"[145][145][145][145][145]";
  193. 3230 FORI=1TONL
  194. 3240 GETI$:IFI$=" "THENFL=1:I=NL:GOTO3275
  195. 3245 IFI$<"A"THEN3240
  196. 3250 IFI$>"Z"THEN3240
  197. 3260 IFI$<>MID$(W$(W),I,1)THENFL=1
  198. 3270 PRINT" ";I$;
  199. 3275 NEXTI
  200. 3280 RETURN
  201. 6000 GOTO600
  202. 7000 FORPS=1TO1000:NEXTPS:RETURN
  203. 7100 POKE1251,43:POKE1253,43:POKE1331,85:POKE1332,64:POKE1333,73
  204. 7110 GOSUB7000:RETURN                   
  205. 7200 PRINT"";"THE WORD WAS ";"";W$(W);"[146]":GOSUB7000
  206. 7210 PRINT"";"...ANOTHER WORD?"
  207. 7215 GETI$
  208. 7220 IFI$="Y"THENPRINT"[145][145][145][145]";"                         ":RETURN
  209. 7230 IFI$="N"THENPRINT"[147]";"OK.....THANKS FOR THE GAME!";"":GOTO615
  210. 7240 GOTO7215
  211. 7300 PRINT"";" ALREADY PICKED  ";L$:GOSUB7000:GOSUB3140:RETURN
  212. 10010 DATA MAGISTRATE,MAHOGANY,ANSWER
  213. 10020 DATA CASTLE,INTEREST,VACUUM,MOOSE
  214. 10030 DATABASKET,AUTOMOBILE,CONSERVE
  215. 10040 DATAANIMOSITY,FRUSTRATE,OGLE,SKIING
  216. 10050 DATACIGARETTE,CREDENZA,CREDENTIALS
  217. 10060 DATAHAMMOCK,SAILBOAT,BUILDING,DOOM
  218. 10070 DATATELEPHONE,RADIOLOGY,MIXTURE
  219. 10080 DATAKEYBOARD,TYPEWRITER,FEMUR
  220. 10090 DATADECADE,PARTIAL,OOZE,EMULATE
  221. 10100 DATAFIREPLACE,CREATURE,FROZEN
  222. 10110 DATATONGUE,CLOTHING,ELEVATOR
  223. 10120 DATADRAPERIES,HANGMAN,RELINQUISH
  224. 10130 DATAQUADRANGLE,TRIANGLE,LOCATION
  225. 10140 DATAINDICATE,BUFFOON,MUDDLE
  226. 10150 DATASEQUENTIAL,ABDICATE,AARDVARK
  227. 10160 DATARUTABAGA
  228.